Don't ref the backend since the backend owns the printer.
authorAlexander Larsson <alexl@redhat.com>
Mon, 24 Apr 2006 16:18:05 +0000 (16:18 +0000)
committerAlexander Larsson <alexl@src.gnome.org>
Mon, 24 Apr 2006 16:18:05 +0000 (16:18 +0000)
2006-04-24  Alexander Larsson  <alexl@redhat.com>

* gtk/gtkprinter.c:
Don't ref the backend since the backend owns the printer.

ChangeLog
ChangeLog.pre-2-10
gtk/gtkprinter.c

index 50092538b9806b7f5f715f9554d684ab773a6fa6..417c549d24a67997dfd09d27cd4abf4924e924f2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-04-24  Alexander Larsson  <alexl@redhat.com>
+
+       * gtk/gtkprinter.c:
+       Don't ref the backend since the backend owns the printer.
+
 2006-04-24  Alexander Larsson  <alexl@redhat.com>
 
        * gtk/gtkpagesetupunixdialog.c (update_combo_sensitivity_from_printers):
index 50092538b9806b7f5f715f9554d684ab773a6fa6..417c549d24a67997dfd09d27cd4abf4924e924f2 100644 (file)
@@ -1,3 +1,8 @@
+2006-04-24  Alexander Larsson  <alexl@redhat.com>
+
+       * gtk/gtkprinter.c:
+       Don't ref the backend since the backend owns the printer.
+
 2006-04-24  Alexander Larsson  <alexl@redhat.com>
 
        * gtk/gtkpagesetupunixdialog.c (update_combo_sensitivity_from_printers):
index 264a5084d32375edf191e2da90d5d97888a7d7e4..dde0c5265bdc0f14834852e1c34b4afefc98f849 100644 (file)
@@ -52,6 +52,7 @@ struct _GtkPrinterPrivate
   gchar *state_message;  
   gint job_count;
 
+  /* Not ref:ed, backend owns printer. */
   GtkPrintBackend *backend;
 };
 
@@ -213,9 +214,6 @@ gtk_printer_finalize (GObject *object)
   g_free (printer->priv->state_message);
   g_free (printer->priv->icon_name);
 
-  if (printer->priv->backend)
-    g_object_unref (printer->priv->backend);
-
   if (G_OBJECT_CLASS (gtk_printer_parent_class)->finalize)
     G_OBJECT_CLASS (gtk_printer_parent_class)->finalize (object);
 }
@@ -235,7 +233,7 @@ gtk_printer_set_property (GObject         *object,
       break;
     
     case PROP_BACKEND:
-      printer->priv->backend = GTK_PRINT_BACKEND (g_value_dup_object (value));
+      printer->priv->backend = GTK_PRINT_BACKEND (g_value_get_object (value));
       break;
 
     case PROP_IS_VIRTUAL:
@@ -347,10 +345,7 @@ gtk_printer_set_backend (GtkPrinter      *printer,
   g_return_if_fail (GTK_IS_PRINTER (printer));
   g_return_if_fail (GTK_IS_PRINT_BACKEND (backend));
 
-  if (printer->priv->backend)
-    g_object_unref (printer->priv->backend);
-  
-  printer->priv->backend = g_object_ref (backend);
+  printer->priv->backend = backend;
 }
 
 /**